# CONFIG_QEMU ?= ../qemu-xen.git
CONFIG_QEMU ?= $(QEMU_REMOTE)
-QEMU_TAG ?= 0442ec23f9efc4f8f9259351f612194f8f42900c
-# Mon Nov 8 17:09:54 2010 +0000
-# stubdom: fix handing of dependency files
+QEMU_TAG ?= ce3b7ce68426ea6249bb411f26b376d459c45450
+# Tue Nov 9 18:01:13 2010 +0000
+# piix4acpi, xen: change in ACPI to match the change in the BIOS.
# Optional components
XENSTAT_XENTOP ?= y
*/
Name (\_S3, Package (0x04)
{
- 0x05, /* PM1a_CNT.SLP_TYP */
- 0x05, /* PM1b_CNT.SLP_TYP */
+ 0x01, /* PM1a_CNT.SLP_TYP */
+ 0x01, /* PM1b_CNT.SLP_TYP */
0x0, /* reserved */
0x0 /* reserved */
})
Name (\_S4, Package (0x04)
{
- 0x06, /* PM1a_CNT.SLP_TYP */
- 0x06, /* PM1b_CNT.SLP_TYP */
+ 0x00, /* PM1a_CNT.SLP_TYP */
+ 0x00, /* PM1b_CNT.SLP_TYP */
0x00, /* reserved */
0x00 /* reserved */
})
Name (\_S5, Package (0x04)
{
- 0x07, /* PM1a_CNT.SLP_TYP */
- 0x07, /* PM1b_CNT.SLP_TYP */
+ 0x00, /* PM1a_CNT.SLP_TYP */
+ 0x00, /* PM1b_CNT.SLP_TYP */
0x00, /* reserved */
0x00 /* reserved */
})
#include "option_rom.h"
#include <xen/version.h>
#include <xen/hvm/params.h>
+#include <xen/hvm/ioreq.h>
#include <xen/memory.h>
asm (
/* PIIX4 ACPI PM. Special device with special PCI config space. */
ASSERT((vendor_id == 0x8086) && (device_id == 0x7113));
pci_writew(devfn, 0x20, 0x0000); /* No smb bus IO enable */
+ pci_writew(devfn, 0xd2, 0x0000); /* No smb bus IO enable */
pci_writew(devfn, 0x22, 0x0000);
pci_writew(devfn, 0x3c, 0x0009); /* Hardcoded IRQ9 */
pci_writew(devfn, 0x3d, 0x0001);
+ pci_writel(devfn, 0x40, ACPI_PM1A_EVT_BLK_ADDRESS | 1);
+ pci_writeb(devfn, 0x80, 0x01); /* enable PM io space */
break;
case 0x0101:
if ( vendor_id == 0x8086 )
if ( hvm_info->acpi_enabled )
{
+ struct xen_hvm_param p = {
+ .domid = DOMID_SELF,
+ .index = HVM_PARAM_ACPI_IOPORTS_LOCATION,
+ .value = 1,
+ };
+
printf("Loading ACPI ...\n");
acpi_build_tables();
+ hypercall_hvm_op(HVMOP_set_param, &p);
}
init_vm86_tss();